export let base = 'https://www.codeboy.com/zhsqapi/'

/**
 * API-1.1、用户注册
 * 接口地址：user/register
 * 请求方式：POST
 * 请求主体格式：application/json   					
 * 	名称		必填		类型		说明
 *	phone	是		string	手机号
 *	pwd		是		string	密码
 */
export let userRegister = async (phone, pwd) => {
	let url = base + 'user/register'
	uni.showLoading({
		title: '注册中'
	})
	let [err, res] = await uni.request({
		url,
		method: 'POST',
		data: {
			phone,
			pwd
		}
	})
	uni.hideLoading()
	// console.log('注册成功', res);
	return res.data
}
/**
 * API-1.2、用户登录
 * 接口地址：user/login
 * 请求方式：POST
 * 请求主体格式：application/json   					
 * 	名称		必填		类型		说明
 *	phone	是		string	手机号
 *	pwd		是		string	密码
 */
export let userLogin = async (phone, pwd) => {
	let url = base + 'user/login'
	uni.showLoading({
		title: '用户登陆中'
	})
	let [err, res] = await uni.request({
		url,
		method: 'POST',
		data: {
			phone,
			pwd
		}
	})
	// console.log('登录成功', res);
	uni.hideLoading()
	return res.data
}
/**
 * 1.3、当前登录用户档案
接口地址：user/profile
请求方式：GET
请求主体：无
请求头部：token
请求数据说明：
名称	必填	类型	说明
token
	是	string	请求头部中必须携带登录成功后得到的身份令牌，且必须在有效期内

 */

export let userProfile = async () => {
	let url = base + "user/profile"
	uni.showLoading({
		title: '加载中'
	})
	let [err, res] = await uni.request({
		url,
		method: 'GET',
		header: {
			token: uni.getStorageSync('userToken')
		}

	})
	// console.log('当前登录用户档案', res);
	uni.hideLoading()
	return res.data
}
/**
 * 1.6、修改当前登录用户密码
接口地址：user/update/pwd
请求方式：POST
请求主体格式：application/json
请求头部：token

 */
export let updatepwd = async (oldPwd, newPwd) => {
	let url = base + "user/update/pwd"
	let [err, res] = await uni.request({
		url,
		method: 'POST',
		header: {
			token: uni.getStorageSync('userToken')
		}
	})
	// console.log('修改密码', res);
	return res.data
}
/**
 * 1.10、退出登录
接口地址：user/logout
请求方式：GET
请求头部：token
请求数据说明：
名称	必填	类型	说明
token	是	string	请求头部中必须携带登录成功后得到的身份令牌，且必须在有效期内

 */
export let userLogout = async () => {
	let url = base + "user/logout"
	uni.showLoading({
		title: '退出中..'
	})
	let [err, res] = await uni.request({
		url,
		method: 'GET',
		header: {
			token: uni.getStorageSync('userToken')
		}
	})
	// console.log('退出登录', res);
	uni.hideLoading()
	return res.data
}
/**
 * API-2.1、首页数据
 * 接口地址：index/data
 * 请求方式：GET
 * 请求头部：token - 用户登录后保存在客户端的身份凭证
 */
export let indexData = async () => {
	let url = base + 'index/data'
	uni.showLoading({
		title: '首页数据读取中'
	})
	let [err, res] = await uni.request({
		url,
		header: { //请求头部-token(客户端身份令牌)
			token: uni.getStorageSync('userToken')
		}
	})
	// console.log('首页数据读已读取', res);
	uni.hideLoading()
	return res.data
}

/**
 * API-3.1、当前登录用户各项待缴费金额汇总
 * 接口地址：fee/list
 * 请求方式：GET
 * 请求头部：token - 用户登录后保存在客户端的身份凭证
 */
export let feeList = async () => {
	let url = base + 'fee/list'
	uni.showLoading({
		title: '缴费数据读取中'
	})
	let [err, res] = await uni.request({
		url,
		method: 'GET',
		header: {
			token: uni.getStorageSync('userToken')
		}
	})
	// console.log('当前登录用户各项待缴费金额汇总', res);
	uni.hideLoading()
	return res.data
}
/**API-3.2获取指定类型的收费单位列表
 * 	接口地址：fee/collector
		请求方式：GET
		请求主体：无
		请求参数：type - 费用的类型； 
		请求示例：fee/collector?type=2

 */
export let feeCollector = async (type) => {
	let url = base + `fee/collector`
	uni.showLoading({
		title: '收费单位列表加载中'
	})
	let [err, res] = await uni.request({
		url,
		method: 'GET',
		data: {
			type
		}
	})
	// console.log('获取指定类型的收费单位列表', res);
	uni.hideLoading()
	return res.data
}
/**
 * 3.3、提交缴费记录
				接口地址：fee/add
				请求方式：POST
				请求主体格式：application/json
				请求头部：token - 用户登录后保存在客户端的身份凭证
				请求数据说明：
					token	是	string	请求头部中必须携带登录成功后得到的身份令牌，且必须在有效期内
					type	是	number	1-水费、2-电费、3-燃气费、4-物业费、5-停车费、6-宽带费
					collectorId	是	number	收费单位编号
					householdId	是	string	业主用户编号
					amount	是	float(10,2)	缴费金额

 */
export let feeAdd = async (type, collectorId, householdId, amount, ) => {
	let url = base + "fee/add"
	uni.showLoading({
		title: '缴费记录加载中'
	})
	let [err, res] = await uni.request({
		url,
		method: 'POST',
		data: {
			type,
			collectorId,
			householdId,
			amount,
		},
		header: {
			token: uni.getStorageSync('userToken')
		}
	})
	// console.log('提交缴费记录', res);
	uni.hideLoading()
	return res.data
}
/**
 * API-3.4当前登录用户缴费记录
 * 	接口地址：fee/record
		请求方式：GET
		请求参数：type - 费用的类型；  
						startTime - 缴费开始时间（时间戳数字）；
						endTime - 缴费结束时间（时间戳数字）；
    请求头部：token - 用户登录后保存在客户端的身份凭证

 */
export let feeRecord = async (type, startTime, endTime) => {
	//1.准备URL
	let url = base + 'fee/record'
	//2.显示loding..提示框
	uni.showLoading({
		title: "缴费记录读取中.."
	})
	//3.请求接口
	let [err, res] = await uni.request({
		url,
		data: {
			type,
			startTime,
			endTime
		},
		header: {
			token: uni.getStorageSync("userToken")
		}
	})
	//4.关闭loading..提示框
	uni.hideLoading();
	//5.返回结果
	return res.data;
}

/**
 * 4.1、根据业主缴费编号查询该业主的基本信息
				接口地址：household/query
				请求方式：GET
				请求主体：无
				请求示例：household/query?hhid=S60011
				注意：前端对此接口的请求需要防抖，时间间隔在2s以上
				名称	必填	类型	说明
				hhid	必需	string	待查询的业主缴费编号
		
 */
export let householdQuery = async (hhid) => {
	let url = base + 'household/query'
	uni.showLoading({
		title: '业主的基本信息加载中'
	})
	let [err, res] = await uni.request({
		url,
		method: 'GET',
		data: {
			hhid
		}
	})
	// console.log('业主的基本信息加载中', res);
	uni.hideLoading()
	return res.data
}
/**
 * 5.1、返回所有停车区坐标及当前空闲数据
接口地址：parking/zone/list
请求方式：GET
请求主体：无
请求示例：parking/zone/list
响应主体格式：json array，
响应主体示例：
 */
export let parkingZoneList = async () => {
	let url = base + 'parking/zone/list'
	uni.showLoading({
		title: '数据加载中'
	})
	let [err, res] = await uni.request({
		url,
		method: 'GET',
	})
	// console.log('停车区坐标及当前空闲数据', res);
	uni.hideLoading()
	return res.data
}

/**
 * 6.3、分页获取互动消息列表
接口地址：chat/query
请求方式：GET
请求参数：pageNum 
请求数据： 
名称	必填	类型	说明
pageNum	非必需	number	默认值为1；要查询的互动消息页号

 */
export let chatQuery = async (pageNum) => {
	let url = base + 'chat/query'
	uni.showLoading({
		title: '消息列表加载中'
	})
	let [err, res] = await uni.request({
		url,
		method: 'GET',
		data: {
			pageNum
		}
	})
	// console.log('分页获取互动消息列表', res);
	uni.hideLoading()
	return res.data
}
/**
 * 6.2、添加一条互动消息
接口地址：chat/add
请求方式：POST
请求类型：application/json
请求头部：token - 用户登录后保存在客户端的身份凭证
请求数据： 
名称	必填	类型	说明
location	必需	string	当前用户所在地理位置
content	必需	string	互动消息的内容
picList	必需	array	空数组：[ ]
或者：[{fileName: '...'}, {fileName:'...'}]

 */
export let chatAdd = async () => {
	let url = base + 'chat/add'
	uni.showLoading({
		title: '添加消息中'
	})
	let [err, res] = await uni.request({
		url,
		method: 'POST',
		data: {
			location,
			content,
			picList,
		}
	})
	// console.log('添加消息完成', res);
	uni.hideLoading()
	return res.data
}
